always set a user if we got asked for one
authorJyrki Gadinger <nilsding@nilsding.org>
Thu, 6 Mar 2025 08:19:00 +0000 (09:19 +0100)
committerMatthieu Gallien <matthieu.gallien@nextcloud.com>
Thu, 6 Mar 2025 08:35:31 +0000 (09:35 +0100)
Signed-off-by: Jyrki Gadinger <nilsding@nilsding.org>
src/libsync/accessmanager.cpp

index 46d8559f7a5961617bc5b101aecd8b07cd306600..40ba4fb93313338f5f6507852d047421b5bc7eea 100644 (file)
@@ -36,6 +36,13 @@ AccessManager::AccessManager(QObject *parent)
     : QNetworkAccessManager(parent)
 {
     setCookieJar(new CookieJar);
+    connect(this, &QNetworkAccessManager::authenticationRequired, this, [this](QNetworkReply *reply, QAuthenticator *authenticator) {
+        if (authenticator->user().isEmpty()) {
+            qCWarning(lcAccessManager) << "Server requested authentication and we didn't provide a user, aborting ...";
+            authenticator->setUser(QUuid::createUuid().toString());
+            reply->abort();
+        }
+    });
 }
 
 QByteArray AccessManager::generateRequestId()